There is a redundant array of inexpensive disks (RAID) technology that combines a plurality of storage devices and operates the plurality of storage devices as a virtual disk. Here, at a particular RAID level, parity data is generated from a plurality of pieces of data in advance, and when one piece of data among the plurality of pieces of data is lost, the lost data is restored from the other pieces of data excluding the lost data among the plurality of pieces of data and the parity data. In addition, there are storage devices having a flash memory as a storage medium.
There is a related technology that obtains conditions such as a writing address, a size and the like that accompany a writing command, and determines from the obtained conditions whether to write data as a parity group or to write the data as a duplicated group. In addition, there is a technology that writes data and redundant information used to correct a data error to different semiconductor memory drives, individually, and stores a table associating the respective physical addresses and logical addresses of a given number of pieces of first data with the physical address of the redundant information. In addition, there is a technology that receives a storage command to provide data redundancy in accordance with the redundancy system of RAID 1, and converts the command to provide data redundancy in accordance with the data redundancy system of RAID 5. In addition, there is a technology that generates parity and writes the parity as nth data each time n−1 pieces of data are written, stores a logical address in a redundant area of a page at a time of data writing, generates parity for the logical address, and writes the parity to a redundant area of a page for writing the nth data. As related technology documents, there are Japanese Laid-open Patent Publication No. 2013-016147, Japanese Laid-open Patent Publication No. 2012-068862, Japanese Laid-open Patent Publication No. 2013-257900, and Japanese Laid-open Patent Publication No. 2010-152551.